package mx.ipn.presentacion.facturacion;

import mx.ipn.presentacion.ConexionConNegocios;
import mx.ipn.presentacion.facturacion.ui.*;
import mx.ipn.to.BitacoraSTO;
import mx.ipn.to.ClienteRfcTO;
import mx.ipn.to.ClienteTO;
import mx.ipn.to.DetallePrefacturaTO;
import mx.ipn.to.RfcTO;
import mx.ipn.to.UsuarioTO;

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QTableWidgetItem;
import com.trolltech.qt.gui.QDialog;

public class SelectPrefactura extends QDialog{
	Ui_Prefactura vpre;
	RfcTO rfcTO;
	RfcTO [] arrrfcTO;
	int idcrfc=0;
	String rfc;
	String denominacion;
	QTableWidgetItem newItem=null;
	public static void main(String[] args) {
		QApplication.initialize(args);
		SelectPrefactura p = new SelectPrefactura();
		QApplication.exec();
	}
	
	public SelectPrefactura(){
		vpre = new Ui_Prefactura();
		vpre.setupUi(this);
		vpre.pushButtonBuscar.clicked.connect(this, "buscaCliente()");
		vpre.tableWidgetResultado.itemClicked.connect(this,"selectCliente()");
	}
	public SelectPrefactura(QDialog parent){
		
	}
	public void selectCliente(){
		QTableWidgetItem newItem=null;
		int fila = vpre.tableWidgetResultado.currentRow();
		newItem = vpre.tableWidgetResultado.item(fila,1);
		rfc= newItem.text();
		newItem = vpre.tableWidgetResultado.item(fila,2);
		denominacion= newItem.text();
	}

	public void buscaCliente()
	{
		int bandera=0;
		String criterio=vpre.comboBoxBuscar.currentText();
		String valor=vpre.lineEdit.text();
		if(criterio.compareToIgnoreCase("Registro")==0){
	    rfcTO = (RfcTO) ConexionConNegocios.invocaServicio("findRfcByRegistro",valor,RfcTO.class);
	    }
		if(criterio.compareToIgnoreCase("Denominacion")==0){
			rfcTO = (RfcTO) ConexionConNegocios.invocaServicio("findRfcByDenominacion",valor,RfcTO.class);
	    }
		if(criterio.compareToIgnoreCase("Todos")==0){
			arrrfcTO = (RfcTO[]) ConexionConNegocios.invocaServicio("selectRfc",RfcTO[].class);
			bandera=1;
	    }
		if(bandera==0){
			if(rfcTO!=null){
				vpre.tableWidgetResultado.clearContents();
		        vpre.tableWidgetResultado.setRowCount(2);
		        vpre.tableWidgetResultado.insertRow(1);
		        newItem = new QTableWidgetItem(String.valueOf(rfcTO.getIdRfc()));
		    	vpre.tableWidgetResultado.setItem(0,0,newItem);
		    	newItem = new QTableWidgetItem(rfcTO.getRegistro());
		    	vpre.tableWidgetResultado.setItem(0,1,newItem); 
		    	newItem = new QTableWidgetItem(rfcTO.getDenominacion());
		    	vpre.tableWidgetResultado.setItem(0,2,newItem); 
			}
		}
		else{
			if(arrrfcTO!=null){
				vpre.tableWidgetResultado.clearContents();
		        vpre.tableWidgetResultado.setRowCount(arrrfcTO.length);
		        for(int i=0;i<arrrfcTO.length;i++)
		        	vpre.tableWidgetResultado.insertRow(i);
		        for(int j=0;j<arrrfcTO.length;j++){
		        	newItem = new QTableWidgetItem(String.valueOf(arrrfcTO[j].getIdRfc()));
		    	    vpre.tableWidgetResultado.setItem(j,0,newItem);
		    	    newItem = new QTableWidgetItem(arrrfcTO[j].getRegistro());
		    	    vpre.tableWidgetResultado.setItem(j,1,newItem); 
		    	    newItem = new QTableWidgetItem(arrrfcTO[j].getDenominacion());
		    	    vpre.tableWidgetResultado.setItem(j,2,newItem); 
			    }
			}	
		}
	}
}
